package com.seguriapp.dao;

import java.util.List;

import com.seguriapp.base.GenericDao;
import com.seguriapp.entities.SeguriAppEntity;
import com.seguriapp.util.SearchFilterEntity;

/**
 * Data access object for {@link SeguriAppEntity} entities.
 * 
 * @author Tania Gonzales (taniadgv@gmail.com)
 */
public interface EntityDao extends GenericDao<SeguriAppEntity> {

  List<SeguriAppEntity> listEntitiesByUbication(double latitude, double longitude, double radio);

  List<SeguriAppEntity> listEntitiesByCategories(List<Long> categoriesIdsList, Long userId);

  List<SeguriAppEntity> listEntitiesByCategories(List<Long> categoriesIdsList);

  List<SeguriAppEntity> listEntities(SearchFilterEntity searchFilter);

  long getEntitiesTotalPages(SearchFilterEntity searchFilter);

  SeguriAppEntity findPoliceStationByDistrict(Long districtId);

}
